Best practices for prompt engineering with the OpenAI API